The advent of the Internet has spurred the generation of a number of protocols for transferring files or, more basically, data objects between two locations. The most commonly used protocols include the file transfer protocol (FTP), the transfer control protocol/Internet protocol (TCP/IP) and Telnet. To transfer a file, each of these protocols uses a point to point communication link between the source location of the file being transferred and the target location to which the file is being transferred. In general, the request for the file transfer must be made from the source system. The file is then transferred across the point to point communication link according to the rules of the particular protocol. For example, the protocols may break down the file being transferred into a number of segments that are sent one after the other instead of as a single large bundle.
For each of these protocols, a file is transferred over a single logical connection, which corresponds to the communication link between the source and target systems. In addition, the transmission of the file is performed synchronously, with the target system sending a confirmation after each segment of the file is sent. In part due to the synchronous nature of the file transfer, the source and target systems must both be operating and communicating with each other for the transfer to begin processing. The communication must also stay operational for the duration of the file transfer or processing must be restarted.
When making a file transfer between two locations, the data in the file is typically stored in a disk that serves as an archive log. The purpose of archive logs is to store the data being transferred so that, in the event of a problem or an error during the transfer, the data can be resent by transferring it from the archive log. Archive logs are costly, however, and the protection of large or numerous data files can diminish system performance.